home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / standard / stcu.z / stcu
Encoding:
Text File  |  2002-10-03  |  6.0 KB  |  129 lines

  1. STCU(3X)                                              Last changed: 11-5-98
  2.  
  3.  
  4. NNAAMMEE
  5.      ssttccuu - Routines that provide a compilation unit symbol table interface
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ##iinncclluuddee <<ssyymmss..hh>>
  9.  
  10.      ""ppCCHHDDRRRR sstt__ccuuiinniitt((vvooiidd));;
  11.  
  12.      ""vvooiidd sstt__sseettcchhddrr((ppCCHHDDRRRR ppcchhddrr));;
  13.  
  14.      ""ppCCHHDDRRRR sstt__ccuurrrreennttppcchhddrr((vvooiidd));;
  15.  
  16.      ""vvooiidd sstt__ffrreeee((vvooiidd));;
  17.  
  18.      ""lloonngg sstt__eexxttaadddd((lloonngg iissss,, lloonngg vvaalluuee,, lloonngg sstt,, lloonngg sscc,, lloonngg iinnddeexx));;
  19.  
  20.      ""ppEEXXTTRR sstt__ppeexxtt__iieexxtt((lloonngg iieexxtt));;
  21.  
  22.      ""ppEEXXTTRR sstt__ppeexxtt__rrnnddxx((RRNNDDXXRR rrnnddxx));;
  23.  
  24.      ""lloonngg sstt__iieexxttmmaaxx((vvooiidd));;
  25.  
  26.      ""lloonngg sstt__eexxttssttrraadddd((cchhaarr **ssttrr));;
  27.  
  28.      ""cchhaarr **sstt__ssttrr__eexxttiissss((lloonngg iissss));;
  29.  
  30.      ""lloonngg sstt__iiddnn__iinnddeexx__ffeexxtt((lloonngg iinnddeexx,, lloonngg ffeexxtt));;
  31.  
  32.      ""lloonngg sstt__iiddnn__rrnnddxx((RRNNDDXXRR rrnnddxx));;
  33.  
  34.      ""ppRRNNDDXXRR sstt__ppddnn__iiddnn((lloonngg iiddnn));;
  35.  
  36.      ""RRNNDDXXRR sstt__rrnnddxx__iiddnn((lloonngg iiddnn));;
  37.  
  38.      ""vvooiidd sstt__sseettiiddnn((lloonngg iiddnnddeesstt,, lloonngg iiddnnssrrcc));;
  39.  
  40. IIMMPPLLEEMMEENNTTAATTIIOONN
  41.      IRIX systems (o32 ABI only)
  42.  
  43. DDEESSCCRRIIPPTTIIOONN
  44.      The ssttccuu routines provide an interface to objects that occur once per
  45.      object rather than once per file descriptor (for example, external
  46.      symbols, strings, and dense numbers).  The routines provide access to
  47.      the current cchhddrr (compile time hdr), which represents the symbol table
  48.      in running processes with pointers to symbol table sections rather
  49.      than indices and offsets used in the disk file representation.
  50.  
  51.      A new symbol table can be created with sstt__ccuuiinniitt.  This routine
  52.      creates and initializes a CCHHDDRRRR (see <<ccmmppllrrss//ssttssuuppppoorrtt..hh>>).  The CCHHDDRRRR
  53.      is the current cchhddrr and is used in all later calls.  NNOOTTEE:  A cchhddrr can
  54.      also be created with the read routines [see ssttiioo(3x)].  The 22sstt__ccuuiinniitt
  55.      routine returns a pointer to the new CCHHDDRRRR record.
  56.  
  57.      _s_t__c_u_r_r_e_n_t_c_h_d_r
  58.              Returns a pointer to the current cchhddrr.
  59.  
  60.      _s_t__s_e_t_c_h_d_r
  61.              Sets the current cchhddrr to the _p_c_h_d_r argument and sets the per
  62.              file structures to reflect a change in symbol tables.
  63.  
  64.      _s_t__f_r_e_e Frees all constituent structures associated with the current
  65.              cchhddrr.
  66.  
  67.      _s_t__e_x_t_a_d_d
  68.              Lets you add to the externals table.  It returns the index to
  69.              the new external for future reference and use.  The _i_f_d field
  70.              for the external is filled in by the current file [see
  71.              ssttffdd(3)].  For more details on the parameters, see <<ssyymm..hh>>.
  72.  
  73.      _s_t__p_e_x_t__i_e_x_t
  74.      _s_t__p_e_x_t__r_n_d_x
  75.              Returns pointers to the external, given a index referencing
  76.              them.  The latter routine requires a relative index where the
  77.              _i_n_d_e_x field should be the index in external symbols and the
  78.              _r_f_d field should be the constant SSTT__EEXXTTIIFFDD.
  79.  
  80.      NNOOTTEE:  The externals contain the same structure as symbols (see the
  81.      SSYYMMRR and EEXXTTRR definitions).
  82.  
  83.      _s_t__i_e_x_t_m_a_x
  84.              Returns the current number of entries in the external symbol
  85.              table.
  86.  
  87.      The iissss field in external symbols (the index into string space) must
  88.      point into external string space.
  89.  
  90.      _s_t__e_x_t_s_t_r_a_d_d
  91.              Adds a null-terminated string to the external string space and
  92.              returns its index.
  93.  
  94.      _s_t__s_t_r__e_x_t_i_s_s
  95.              Converts that index into a pointer to the external string.
  96.  
  97.      The dense number table provides a convenience to the code optimizer,
  98.      generator, and assembler.  This table lets them reference symbols from
  99.      different files and externals with unique densely packed numbers.
  100.  
  101.      _s_t__i_d_n__i_n_d_e_x__f_e_x_t
  102.              Returns a new dense number table index, given an index into
  103.              the symbol table of the current file (or if _f_e_x_t is set, the
  104.              externals table).
  105.  
  106.      _s_t__i_d_n__r_n_d_x
  107.              Returns a new dense number, but expects a RRNNDDXXRR (see <<ssyymm..hh>>)
  108.              to specify both the file index and the symbol index rather
  109.              than implying the file index from the current file.  The RRNNDDXXRR
  110.              contains two fields:  an index into the externals table and a
  111.              file index (rrssyymmss can point into the symbol table, as well).
  112.              The file index is SSTT__EEXXTTIIFFDD (see <<ccmmppllrrss//ssttssuuppppoorrtt..hh>>) for
  113.              externals.
  114.  
  115.      _s_t__r_n_d_x__i_d_n
  116.              Returns a RRNNDDXX, given an index into the dense number table.
  117.  
  118.      _s_t__p_d_n__i_d_n
  119.              Returns a pointer to the RRNNDDXXRR index by the _i_d_n_i argument.
  120.  
  121.      The programs must be loaded with the object file access routine
  122.      library lliibbmmlldd..aa.
  123.  
  124. SSEEEE AALLSSOO
  125.      ssttffee(3x), ssttffdd(3x)
  126.  
  127.      This man page is available only online.
  128.  
  129.